package main

import "fmt"

// 在go语言中没有枚举类型，但是我们可以使用const+iota(常量累加器)来进行模拟
// 模拟一个一周的枚举
const (
	MONDAY    = iota
	TUESDAY   = iota
	WEDNESDAY = iota
	THURSDAY  = iota
	FRIENDLY  //==》没有赋值，默认与上一行相同iota==>3
	SATURDAY
	SUNDAY
	M, N = iota, iota //const属于预编译期赋值，所以不需要:=进行自动推导
)

const (
	JANU = iota + 1
	FER
	MAR
	APRI
)

// 1.iota是常量组计数器
// 2.iota从0开始，没换行递增1
// 3.常量组有个特点，如果不赋值，默认与上一行表达式相同
// 4.如果同一行出现了两个iota,那么两个iota的值是相同的
// 5.每个常量组的iota是独立的，如果遇到const iota会重新清零
func main() {

	fmt.Println("打印周：")
	fmt.Println(MONDAY)
	fmt.Println(TUESDAY)
	fmt.Println(WEDNESDAY)
	fmt.Println(THURSDAY)
	fmt.Println(FRIENDLY)
	fmt.Println(SATURDAY)
	fmt.Println(SUNDAY)
	fmt.Println(M, N)

	fmt.Println("打印月：")
	fmt.Println(JANU)
	fmt.Println(FER)
	fmt.Println(MAR)
	fmt.Println(APRI)
	//var number int
	//var name string
	//var flag

	////可以使用变量组来将同意定义变量
	//var (
	//	number int
	//  name string
	//  flag bool
	//)
}
